1. Field of the Invention
The invention described herein relates to communications systems, and in particular to synchronization.
2. Related Art
In recent years distributed computing and communications systems that rely on or provide high speed data communications have become ubiquitous. Such systems may include, but are not limited to, broadband communication systems using cable modems, satellite communication systems, fiber to the home (FTTH) communications networks, and board-to-board interconnections in a myriad of electronic devices.
In many of these applications, the operation of remotely distributed devices must be synchronized for efficient operation. There are many reasons why remotely distributed devices may need to be synchronized. Two of the more common reasons relate to the efficient functioning of the devices. In particular, in a digital communication system a receiving device must be properly synchronized to a sending device to enable the efficient processing and interpretation of an incoming data stream. If the devices are not properly synchronized, the receiving device may not be able to properly receive or interpret data being transmitted to it. Additionally, time division multiplexing and/or synchronous code division multiplexing can be used to allocate bandwidth to remotely distributed terminal devices for signal transmission to a single master or administrative device (i.e., transmission in the so-called “upstream” direction). Here, the remotely distributed devices must be synchronized. If the terminal devices are not synchronized with the administrative device, an undesirable situation may arise. The terminal devices may transmit data at the same time or at the wrong time. This can lead to confusion and loss of data at the administrative device.
Moreover, synchronization must happen quickly. Any delay in achieving synchronization represents lost time, during which communication is unavailable. Such delay diminishes the quality of service and can impact revenue for the service provider.
In the case of communications systems that implement a version of the Data Over Cable System Interface Specification (DOCSIS), a terminal device, such as a cable modem, must have the same notion of the current position in the upstream as an associated administrative device (or cable modem termination system (CMTS), also known as a “headend”). In such systems, the headend specifies an interval in time and/or in the spreading spectrum in which a given terminal device can transmit to the headend. If the transmission takes place at some other point, interference can occur with respect to another transmission, and data will be lost. Moreover, if transmission takes place at an incorrect point, the headend may not be prepared to receive the transmitted data. Hence the headend and its associated cable modems must be synchronized. Only after synchronization is achieved can a cable modem transmit at the point specified by the headend.
Note that the problem of achieving synchronization is not limited to cable systems, or to DOCSIS-based systems. The problem is independent of any particular medium or protocol. The problem arises in any communications system in which communicating entities must have a common sense of time, for example. In any communications system that uses time division multiplexing, for instance, transmitters and receivers must know when data is to be sent and must therefore have a common notion of time. This requires synchronization.
In some systems, the problem is addressed by the transmission of one or more counter values from an administrative device to a terminal device. In a DOCSIS 2.0 system, for example, the headend maintains a set of three counters that track the upstream bandwidth. The first counts frames in the upstream. The second counter counts minislots. There is an integer number of minislots per frame. The third counter counts timestamps. There is an integer number of timestamps per minislot (and therefore an integer number of timestamps per frame).
At the headend, the timestamp counter increments at a fixed frequency. Once the timestamp counter has incremented by the number of timestamps per minislot, the minislot counter increments by one. Once the minislot counter has incremented by the number of minislots per frame, the frame counter increments by one. For example, if there are ten timestamps per minislot, the timestamp and minislot counters, during some interval, might increment as follows:
TABLE 1Minislot202122Timestamp100, 101, . . . 109110, 111, . . . 119120, 121, . . . 129
The minislot counter increments only at every tenth timestamp. When the time stamp counter reaches 110, for example, the minislot counter increments. Timestamps 110, 120, etc. therefore represent minislot boundaries, i.e., points in the timestamp sequence at which the minislot counter increments.
An analogous relationship exists between the minislot and frame counters. If there are ten minislots per frame, for example, the minislot and frame counters might increment as follows during some interval:
TABLE 2Frame101112Minislot20, 21, . . . 2930, 31, . . . 3940, 41, . . . 19
The frame counter increments only at every tenth minislot. When the minislot counter reaches 29, for example, the frame counter increments. Minislots 20, 30, 40, etc. therefore represent frame boundaries, i.e., points in the minislot sequence at which the frame counter increments.
In order to synchronize one or more associated cable modems, the set of frame, minislot, and timestamp counter values is sent by the headend to each cable modem. The set of counter values, known collectively hereinafter as a snapshot, represents a point in the upstream as administered at the headend. The cable modem must then read these received counter values into its own counters, and adjust them so that they match the present counter values of the headend. This is because the counter values at the headend have continued to increment since initial transmission of the snapshot. One method by which the cable modem could adjust its counters is to use a faster clock to increment them. While this would eventually allow the cable modem's counters to catch up to the headend's counters, the process is slow. The relative acceleration of the cable modem's counters is only the ratio of the accelerated clock frequency to the normal clock frequency. As a result, significant time is lost during such a process, time during which communications cannot take place. Moreover, this problem may exist in any communications system where a terminal device's counters must catch up to those of an administrative device.
Hence there is a need for a method by which an administrative device and a terminal device in a data communications system achieve synchronization in a timely manner, such that counters at a terminal device are quickly advanced to a desired state, i.e, a state that matches that of an administrative device.